package model.negocios;

import java.util.List;

import excecoes.DadosCadastroInvalidos;
import model.basicas.Funcionario;
import model.factory.FactoryDAO;
import model.interfaces.IFuncionarioDAO;

public class ControladorFuncionario {
	
	private IFuncionarioDAO funcionarioDAO;
	
	public ControladorFuncionario(){
		
		this.funcionarioDAO = FactoryDAO.getFuncionarioDAO();
	}
	
	public void cadastrar(Funcionario objeto) throws DadosCadastroInvalidos {
		this.funcionarioDAO.inserir(objeto);
	}

	public void remover(Funcionario objeto) throws DadosCadastroInvalidos{
		this.funcionarioDAO.remover(objeto);
	}
	
	public List<Funcionario> consultarTodos(){
		return this.funcionarioDAO.listarCadastrados();
	}
	
	public Funcionario atualizar(Funcionario objeto) throws DadosCadastroInvalidos{
		return this.funcionarioDAO.atualizar(objeto);
	}
	
	public Funcionario consultarPorCPF(String cpf){
		return this.funcionarioDAO.consultarPorCpf(cpf);
	}
	
	public Funcionario consultarPorId(long id){
		return this.funcionarioDAO.consultarPorId(id);
	}
	
	public Funcionario consultarPorMatricula(String matricula){
		return this.funcionarioDAO.consultarPorMatricula(matricula);
	}
}
